Today's Question:  What does your personal desk look like?        GIVE A SHOUT

SEARCH KEYWORD -- Integer overflow



  Prototypes in JavaScript

Following on from his previous article, David Chisnall explores JavaScript as an example of prototype-based object orientation. In this article, he shows how it's possible to implement more complex object models on top of this simple abstraction.My previous article, Prototypes and Object Orientation, considered the differences between class-based and prototype-based object orientation. In this article, we'll look in a bit more detail at the workings of the JavaScript object model, since it'...

   JavaScript,Prototype,Object oriented,Obj     2011-09-02 11:44:12

  Writing forward-compatible websites

This is a list of best practices for creating websites that do not break when browsers are updated. It's not always possible to follow all of these, but following as many of them as possible will help future-proof your website. This is especially important for intranet applications and other non-public websites where problems are likely to not be noticed during testing by browser vendors.JavaScriptPrefix all global variable access in onfoo attributes with “window.”When an e...

   Web design,Forward compatible,CSS,JavaScript,window     2011-11-23 08:07:35

  The tips of learning Linux kernel

  As the Linux kernel has become one of the most gigantic and complex software project in the world, its complication scare many novices away. In this post, I will give some personal experience on how to learn Linux kernel, and hope these tips can offer some help to newcomers. (1) Download vanilla kernel and install it. Yes, I suggest you can find a physical machine, or if you really don’t have one at hand, virtual machine is also OK. Download the newest vanilla k...

       2017-07-28 22:53:11

  Optimization Tricks used by the Lockless Memory Allocator

With the releasing of the Lockless Memory Allocator under the GPL version 3.0 license, we can now discuss more of the optimization tricks used inside it. Many of these are things you wouldn't want to use in normal code. However, when speed is the ultimate goal, sometimes we need to break a few rules and use code that is a little sneaky.The SlabA slab is a well-known technique for allocating fixed size objects. For a given object size, a chunk of memory is divided up into smaller regions of that ...

   Optimization,Memory allocation     2011-11-16 08:02:16

  Asynchronous UIs - the future of web user interfaces

It's an interesting time to be working on the frontend now. We have new technologies such as HTML5, CSS3, Canvas and WebGL; all of which greatly increase the possibilities for web application development. The world is our oyster!However, there's also another trend I've noticed. Web developers are still stuck in the request/response mindset. I call it the 'click and wait' approach - where every UI interaction results in a delay before another interaction can be performed. That's the process they'...

   AJAX,Asynchronous UI,AUI,User interface     2011-11-18 08:55:08

  What the Heck are Algebraic Data Types? ( for Programmers )

This post is meant to be a gentle introduction to Algebraic Data Types. Some of you may be asking why you should learn Algebraic Data Types and how will they change your world?  I am not going to answer that, but suffice it to say that Algebraic Data Types are the underpinning of the type systems to the ML derived languages, Haskell and OCaml included, and their construction and properties allow for the power (and inference) that accompanies these type systems.  They are cropping...

   Algebraic Data Type,Set,Operator,Programmer     2011-12-30 08:31:43

  The Reality

Everyone loves to talk about benchmarks. AMD’s Andy Parma recently wrote a blog that covers the top performance scores for the AMD Opteronâ„¢ 6200 Series processors. As marketing professionals, of course that’s what we talk about. What’s important to look at is the reality as well – what customers are actually purchasing. When you drive past car dealership, you’ll always see the fancy red sports car prominently displayed. It draws people in â€...

   AMD,Intel,Comparison,AMD vs Intel processor,artitecture     2011-11-15 08:33:58

  A simple tutorial on GoLang connecting to Clickhouse

Go, also known as Golang, is a statically-typed, concurrent programming language created by Google. ClickHouse is a high-performance, column-oriented database management system that can be used for real-time data analysis. This tutorial will provide a deep dive into how to connect to ClickHouse from a Go program, including how to perform common database operations such as SELECT and INSERT statements. Before proceeding, it is assumed that you already have Go and ClickHouse installed on your mach...

   GOLANG,CLICKHOUSE,TUTORIAL     2023-02-11 07:05:36

  10 Tools Every Software Developer Should Use in 2018

The main problem I noticed about most programmers is that even though they know about latest software development tools, they never really spend significant time to learn them well. As a programmer, I always try to learn new tools and latest technologies. At the same time, I also look to improve my knowledge of tools which I have been using for many years. Whether you're a front-end developer, full-stack programmer or part of a DevOps team, you should familiarize yourself with the latest develop...

   SOFTWARE DEVELOPMENT, SOFTWARE DEVELOPMENT TOOLS, PROGRAMMING TOOLS     2018-04-28 07:08:00

  Why I love Common Lisp and hate Java

“Common what?” is a common reply I get when I mention Common Lisp. Perhaps rightly so, since Common Lisp is not all that common these days. Developed in the sixties, it is one of the oldest programming languages out there. In its heydays it was used mostly for Artificial Intelligence research at MIT, Stanford, Carnegie Mellon and the like, and therefore has a lingering association with AI. People not in AI shy away from Lisp. Common Lisp is a powerful and versatile program...

   Lisp,Java,Comparison,Common Lisp     2012-01-30 05:48:16